This invention relates to a method for detection of a ranging code, and to an apparatus implementing the method.
In wireless communications systems, an Orthogonal Frequency Division Multiplexed (OFDM) system is one in which a transmitter sends data to a receiver using a number of different subcarrier frequencies within a transmission frequency band. The receiver then has to detect the data transmitted on each of the carrier frequencies, in order to be able to recreate the original transmitted signal.
In an Orthogonal Frequency Division Multiple Access (OFDMA) system, there may be multiple users, transmitting data to a single receiver. One such system is the so-called WiMAX system, specified in the IEEE 802.16e standard, in which a number of users are able to communicate with an access point. As the users are able to move within the coverage area of the access point, this allows the users to have high data rate wireless access to a communications network while moving.
In the IEEE 802.16e system, the available subcarriers are divided into subchannels, and each of the users can be allocated one or more of the subchannels. It is then the function of a base station to receive transmissions from the users, which may be transmitting simultaneously, and to detect and decode those transmissions. One factor, which must be taken into consideration by the base station, is that the users may be located at different distances from the base station, and therefore signals transmitted from those users will take different lengths of time to reach the base station. In order to be able to handle the transmissions from such users, the base station needs to be able to determine the distances of the users from the base station, and hence the times taken for their transmissions to reach the base station, in order to be able to achieve proper synchronization of operation.
In order to allow the base station to makes these determinations, the user devices transmit ranging codes in a specified ranging subchannel, either when the user device is initially trying to connect to the base station, or periodically thereafter in order to take account of movement of the user device relative to the base station. By detecting the received ranging code, the base station is able to synchronize to subsequent transmissions from that user device.
SUMMARY OF THE INVENTION
According to an aspect of the invention, a ranging code present in a transmission from a transmitter to a receiver can be detected, and hence a time offset can be determined. For each of the possible ranging codes in a transmitted signal, a correlation is formed between a received signal and the ranging code for multiple subcarriers in the received signal. For multiple adjacent ranging subcarriers, the correlation is multiplied by a conjugate of the correlation of an adjacent ranging subcarrier in order to form a differential phase value. At least one ranging code in the transmitted signal can then be determined based on the differential phase values for said plurality of subcarriers. A time offset in the transmission from the transmitter to the receiver can then be determined, based on the differential phase values for the subcarriers, and based on the determined ranging code.
According to another aspect of the invention, there is provided a method of generating a required ranging code, wherein the required ranging code forms part of a specific one of a plurality of groups of ranging codes, the groups of ranging codes together forming a set of available ranging codes, and the method comprising:                on initialization of a device, applying an initialization sequence to a shift register of a pseudorandom sequence generator;        clocking bits through said shift register to generate said set of available ranging codes;        during said clocking bits through said shift register, storing bits present in said shift register at a start of a first ranging code in each of said groups of ranging codes; and        when a required ranging code is identified:        applying to said shift register the stored bits present in said shift register at the start of the first ranging code in said specific one of said plurality of groups of ranging codes; and        clocking bits through said shift register to generate the ranging codes of said specific one of said plurality of groups of ranging codes.        